// 页面: 工作台-维修管理-验收
const $app = getApp()
Page({
  data: {
    // ===== 参数 =====
    param: {
      eventNum: null // 维修事件编号
    },
    fileKeys: ['sitePicture'],
    error: null // 错误验证
  },
  model (e) { $app.$common_wx.model(e, this) }, // 双向绑定
  // ========== 生命周期: 页面初次渲染完成 ==========
  onReady: function () {},
  // ========== 生命周期: 页面显示 ==========
  onShow: function () {},
  // ========== 生命周期: 页面隐藏 ==========
  onHide: function () {},
  // ========== 生命周期: 页面卸载 ==========
  onUnload: function () {},
  // ========== 生命周期: 页面加载 ==========
  onLoad: function (options) {
    if (!options.eventNum) return
    this.setData({ ['param.eventNum']: options.eventNum })
    this.init() // 初始化
  },
  // ========== 初始化 ==========
  init (eventNum) {
    let param = {
      ...this.data.param,
      checkDepart: $app.userInfo.departid, // 验收部门id
      checkDepartName: $app.userInfo.departname, // 验收部门名称
      checkDate: $app.$common.dateFormat(new Date(), 'YYYY-MM-DD'), // 验收日期
      checkPerson: null, // 验收人
      statusExplain: null, // 情况说明
      sitePicture: null, // 现场照片路径
      sitePictureArr: [], // 现场照片arr
      updatePerson: $app.userInfo.id, // 创建人Id
      updateName: $app.userInfo.name // 创建人名称
    }
    this.setData({ param })
  },
  // ========== 提交验收记录 ==========
  save () {
    const param = this.data.param
    // 1.验证必填项
    var verify = {
      checkDate: '验收日期',
      checkPerson: '验收人',
      statusExplain: '情况说明',
      sitePictureArr: '现场照片'
    }
    for (const k in verify) {
      const val = Array.isArray(param[k]) ? param[k][0] : param[k]
      if (!$app.$common.noNull(val)) {
        this.setData({ error: k })
        $app.$common.message(verify[k] + '不能为空') // 提示信息
        return
      }
    }
    this.setData({ error: null })
    // 2.上传
    $app.$common.openLoading() // 开启加载
    this.selectComponent("#zjImage").upload('repairevent', 'addWenjian') // 文件上传
  },
  // ========== '上传'结束后 ==========
  uploadEnd (e) {
    e = e.detail
    if (e.result === 'fail' || e.result === 'complete') {
      $app.$common.closeLoading() // 关闭加载
      const text = `上传失败${e.failUp}个`
      $app.$common.message(text, 'error')
    } else {
      // $app.$common.closeLoading() // 关闭加载
      this.saveAgain()
    }
  },
  // ========== 继续保存 ==========
  saveAgain () {
    const param = this.data.param
    this.data.fileKeys.forEach(k => { param[k] = param[k + 'Arr'].join(',') })
    // 调接口
    $app.$api.repairevent.addRepaircheck(param).then((res) => {
      console.log('api-保存成功', res)
      $app.$common.closeLoading() // 关闭加载
      $app.$common_wx.back() // 返回上一页
      $app.$common.message('保存成功', 'success')
    }).catch(() => {})
  }
})